import axios from "axios";
import { get as getToken } from "@/api/JwtApi";

//创建一个axios实例
const api = axios.create({
    baseURL: "/api",
    timeout: 3000
});

//添加一个请求拦截器，在每次请求时，携带一个token到后端
api.interceptors.request.use(config => {
    //每次请求时携带jwt
    config.headers["Authorization"] = getToken();
    return config;
}, error => {
    return Promise.reject("获取后端服务器数据异常");
});

//创建一个响应拦截器
api.interceptors.response.use(resp => {//状态码是200的情况
    let data = resp.data;
    if (data.code === 401) {//jwt无效
        location.href = "/login";
    } else {
        return resp.data;
    }
}, error => {//状态码不是200的情况
    return Promise.reject("获取后端服务器数据异常");
});


export default api;